package main

//import (
//	"fmt"
//	"log"
//	"os"
//	"time"
//)
//
//func main() {
//	// 创建IEC104客户端
//	client := iec104.NewClient("127.0.0.1:2404", iec104.ClientConfig{
//		Timeout: 10 * time.Second,
//	})
//
//	// 连接服务器
//	if err := client.Connect(); err != nil {
//		log.Fatalf("连接失败: %v", err)
//	}
//	defer client.Close()
//
//	// 发送文件
//	if err := sendFile(client, "test.txt"); err != nil {
//		log.Fatalf("文件传输失败: %v", err)
//	}
//
//	fmt.Println("文件传输完成")
//}
//
//func sendFile(client *iec104.Client, filename string) error {
//	// 打开文件
//	file, err := os.Open(filename)
//	if err != nil {
//		return fmt.Errorf("无法打开文件: %v", err)
//	}
//	defer file.Close()
//
//	// 获取文件信息
//	fileInfo, err := file.Stat()
//	if err != nil {
//		return fmt.Errorf("无法获取文件信息: %v", err)
//	}
//
//	// 发送文件开始指令
//	if err := client.SendFileStart(filename, fileInfo.Size()); err != nil {
//		return fmt.Errorf("发送开始指令失败: %v", err)
//	}
//
//	// 读取并发送文件内容
//	buffer := make([]byte, 1024)
//	for {
//		n, err := file.Read(buffer)
//		if err != nil {
//			break
//		}
//
//		if err := client.SendFileData(buffer[:n]); err != nil {
//			return fmt.Errorf("发送文件数据失败: %v", err)
//		}
//	}
//
//	// 发送文件结束指令
//	if err := client.SendFileEnd(); err != nil {
//		return fmt.Errorf("发送结束指令失败: %v", err)
//	}
//
//	return nil
//}
